﻿package mess;


// import core.*;
import core.Man;
import scrn.*;


// ================================================== Текстовое личное сообщение
public class MessOne extends Message {

// ================================================================== Переменные
public int h = 0; // Часы
public int m = 0; // Минуты
public int day = 1; // День
public int mon = 1; // Месяц
public int year = -1; // Год
public int stat = 0; // Статус
public String text = ""; // Текст

// Разметка
public int hTot = 0; // Общая высота сообщения в точках
public int[] res; // Результат разметки текста
public int rTot = 0; // Кол-во строк в сообщении
public int color = OneCol.T_EMPTY; // Тип сообщения


// =============================================================== Инициализация
public MessOne() {

// Создать пустое
}


public MessOne(int color, int h, int m, int day, int mon, int year, String text) {

	// Mess.m("MessOne.init", "=====");
	init(color, h, m, day, mon, year, text);
}


public MessOne(int color, int h, int m, String text) {

	init(color, h, m, 0, 0, -1, text);
}


private void init(int color, int h, int m, int day, int mon, int year,
		String text) {

	this.h = h;
	this.m = m;
	this.day = day;
	this.mon = mon;
	this.year = year;
	this.text = text;
	this.color = color;
}


// ========================================================= Время в виде строки
public String getTimeString() {

	StringBuffer time = new StringBuffer();
	if (h < 10) {
		time.append('0');
	}
	time.append(h).append(':');
	if (m < 10) {
		time.append('0');
	}
	time.append(m);
	return time.toString();
}


// ========================================================== Разметка сообщения
public void parse(int width) {

	synchronized (Man.main) {
		Man.par.reset(width);
		Man.par.addTime();
		Man.par.addText(text);

		// Забрать результаты
		this.res = Man.par.getRes();
		this.hTot = Man.par.hTot;
		this.rTot = Man.par.rTot;
	} // Освободить синхронизированный объект
}

// ========================================================= Отображение текстом
public String toString() {

	// Mess.m("MessOne.toString", "Преобразуем в текст");
	return "stat=" + this.stat + ", " + this.h + ":" + this.m + ", " + this.day
			+ "." + this.mon + "." + this.year + ", color=" + this.color + ", text="
			+ this.text;
}


}
